#ifndef __KQFUNCS_H
#define __KQFUNCS_H

#ifdef _DEBUG
#pragma comment(lib, "../debug/kqdll.lib")
#else
#pragma comment(lib, "../release/kqdll.lib")
#endif

typedef int (*HANDLE_FUNC)(TCHAR*,int);
typedef BOOL (*INITIALIZE)(TCHAR (&)[20], HANDLE_FUNC*);

typedef struct _MODULE_DATA {
	HMODULE			hModule;
	TCHAR			cmdPrefix[20];
	HANDLE_FUNC		handleFunc;
} MODULE_DATA;

DWORD WINAPI HandleThread(LPVOID);

__declspec(dllexport)
BOOL __cdecl InstallHook(char vkkey, char hotkey);

__declspec(dllexport)
VOID __cdecl UninstallHook();

BOOL ParseHotkey(char* hk_str, char& vkkey, char& hotkey);

BOOL HandleCommand(CString& key);
HANDLE_FUNC FindHandleFunc(CString& cmd);

void LoadKqDLL();

void UnloadKqDLL();

#endif
